Using Garbage Collection in Model Checking
نویسندگان
چکیده
Garbage collection techniques have become common-place in actual programming environments, helping programmers to avoid memory fragmentation and invalid referencing problems. In order to e ciently model check programs that use garbage collection, similar functionalities have to be embedded in model checkers. This paper focuses on the implementation of two classic garbage collection algorithms in dSPIN, an extension of the model checker SPIN which supports dynamic memory management. Experiments carried out show that, besides making a large class of programs tractable, garbage collection can also be a mean to reduce the number of states generated by our model checking tool.
منابع مشابه
Formal Proof of Abstract Model Checking of Concurrent Garbage Collection
Abstract model checking is a method to verify properties of a state transition system by first making abstraction of the system and then applying model checking on the abstract system. If the employed abstraction relation satisfies certain conditions that guarantee the correctness of the abstraction, verification results of the abstract system can be shifted to the original one. However, the co...
متن کاملModel Checking via ΓCFA
We present and discuss techniques for performing and improving the model-checking of higher-order, functional programs based upon abstract interpretation [4]. We use continuation-passing-style conversion to produce an abstractable state machine, and then utilize abstract garbage collection and abstract counting [9] to indirectly prune false branches in the abstract state-to-state transition gra...
متن کاملAbstraction of Link Structures by Regular Expressions and Abstract Model Checking of Concurrent Garbage Collection
متن کامل
Veriication of Parallel Garbage Collection by Abstract Model Checking (extended Abstract)
By abstract model checking, we veriied several algorithms for parallel garbage collection with a single abstraction mapping. An abstract heap was deened as a set of abstract cells. In order to deene abstract transitions on abstract heaps, procedures called lters were introduced, which delete inconsistent abstract cells from an abstract heap. We also did an experiment of nding new algorithms by ...
متن کاملMemoised Garbage Collection for Software Model Checking
Virtual machine based software model checkers like jpf and MoonWalker spend up to half of their verification time on garbage collection. This is no surprise as after nearly each transition the heap has to be cleaned from garbage. To improve this, this paper presents the Memoised Garbage Collection (MGC) algorithm, which exploits the (typical) locality of transitions to incrementally perform gar...
متن کامل